package com.pzr.soccer.match.service;

import com.alicp.jetcache.anno.Cached;
import com.pzr.soccer.common.aop.MetricTime;
import com.pzr.soccer.match.domain.Game;
import com.pzr.soccer.match.domain.MatchInfo;
import com.pzr.soccer.match.model.request.DateLT;
import com.pzr.soccer.match.model.request.PreConditions;
import com.pzr.soccer.match.model.request.ResultConditions;

import java.util.List;
import java.util.concurrent.TimeUnit;

/**
 * @Author pzr
 * @date:2021-12-15-18:14
 * @Description:
 **/
public interface GameService {
    @Cached(name = "game", expire = 2, timeUnit = TimeUnit.HOURS)
    List<Game> findByDateLT(DateLT dlt);

    List<Game> selectMatchIndex(PreConditions pc,List<Game> games);

    List<Game> selectMatchResult(ResultConditions rc, List<Game> games);

    List<Game> covertOldFormatGame2New(List<MatchInfo> matchInfos);
}
